package com.ethink.warehouse.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ethink.warehouse.api.info.WarehouseInfo;
import com.ethink.warehouse.api.request.WarehouseAddRequest;
import com.ethink.warehouse.api.request.WarehouseQueryRequest;
import com.ethink.warehouse.api.request.WarehouseStatusSetRequest;
import com.ethink.warehouse.api.request.WarehouseUpdateRequest;
import com.ethink.warehouse.api.response.*;

import java.util.List;

/**
 * 仓库主仓 Service接口
 *
 * @author default
 * @date 2022-11-01
 */
public interface WarehouseService {

    /**
     * 分页查询
     *
     * @param request
     * @return
     */
    Page<WarehouseInfo> queryWarehouse(WarehouseQueryRequest request);

    /**
     * 查询详情
     *
     * @param warehouseId
     * @return
     */
    WarehouseDetailsResponse getWarehouseById(Long warehouseId);

    /**
     * 查询列表
     *
     * @return
     */
    List<WarehouseInfo> listWarehouse();

    /**
     * 新增
     *
     * @param request
     * @return
     */
    WarehouseAddResponse addWarehouse(WarehouseAddRequest request);

    /**
     * 修改
     *
     * @param request
     * @return
     */
    void updateWarehouse(WarehouseUpdateRequest request);

    /**
     * 更新状态
     *
     * @param request
     * @return
     */
    void setWarehouseStatus(WarehouseStatusSetRequest request);

}